package com.inno.system.service.impl;

import cn.hutool.core.util.IdUtil;
import com.inno.system.entity.PlannerBanner;
import com.inno.system.mapper.PlannerBannerDao;
import com.inno.system.service.PlannerBannerService;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;

import java.util.Date;
import java.util.List;

/**
 * (PlannerBanner)表服务实现类
 *
 * @author makejava
 * @since 2025-01-04 17:17:33
 */
@Service("plannerBannerService")
public class PlannerBannerServiceImpl implements PlannerBannerService {
    @Resource
    private PlannerBannerDao plannerBannerDao;

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    @Override
    public PlannerBanner queryById(Long id) {
        return this.plannerBannerDao.queryById(id);
    }



    /**
     * 新增数据
     *
     * @param plannerBanner 实例对象
     * @return 实例对象
     */
    @Override
    public PlannerBanner insert(PlannerBanner plannerBanner) {
        plannerBanner.setId(IdUtil.getSnowflakeNextId());
        plannerBanner.setIsDeleted("1");
        plannerBanner.setCreateTime(new Date());
        this.plannerBannerDao.insert(plannerBanner);
        return plannerBanner;
    }

    /**
     * 修改数据
     *
     * @param plannerBanner 实例对象
     * @return 实例对象
     */
    @Override
    public PlannerBanner update(PlannerBanner plannerBanner) {
        this.plannerBannerDao.update(plannerBanner);
        return this.queryById(plannerBanner.getId());
    }

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    @Override
    public boolean deleteById(Long id) {
        return this.plannerBannerDao.deleteById(id) > 0;
    }

    @Override
    public List<PlannerBanner> list() {
        return this.plannerBannerDao.list();
    }
}
